VOS - Telefoneren
Home

VOS - Telefoneren

VOS - Telefoneren

Als de gebruiker is aangemeld moet die vanuit de VOS app kunnen telefoneren. We installeren daarvoor een plugin (Cordova - telephone).

Methoden in index.js

De methoden om te bellen plaatsen we in het index.js bestand dat door Cordova werd aangemaakt. De reden hiervoor is dat die functionaliteit slechts beschikbaar in de app en niet op website. Bevendien moet die functionaliteit slechts toegankelijk zijn als de 'device ready' notificatie ontvangen is.

De methode om te bellen roept twee callback functies op. De onPhoneCallSucces methode wordt uitgevoerd als de bel plugin geactiveerd kan worden, de onPhoneCallError callback methode als de plugin niet geactiveerd kan worden.

var phoneCall = function(number) {
    // if (window.cordova) {
    //     //ref = window.open('tel:' + number, '_system');
    //     cordova.InAppBrowser.open('tel:' + number.replace(/\s/g,''), '_system');
    //     //ref.addEventListener("endcallbutton", onEndCallKeyDown, false);
    // }
    if (window.cordova) {
        var bypassAppChooser = true;
        window.plugins.CallNumber.callNumber(onPhoneCallSuccess, onPhoneCallError, number, bypassAppChooser);
    }
};

function onPhoneCallSuccess(result) {
    // alert('succes: ' + result);
}

function onPhoneCallError(result) {
    // alert('error: ' + result);
}

In de TEL render methode wordt een knop aangemaakt als de gebruiker is aangemeld. Als de gebruiker op die knop klikt wordt de phoneCall methode in index.js opgeroepen. Is de gebruiker niet aangemeld wordt het telefoonnummer getoond.

var render = {
    'identity': function (querySelector) {
        ...
    },
    'procedure': {
        'make': function (procedureCode) {
            ...
        },
        'TEL': function (item, message) {
            // Het telefoonnummer van directie, secretariaat, ... is afhankelijk van de plaats
            var phoneNumber = getPhoneNumber(item.phoneNumber);
            if (vos.model.identity.loggedIn) {
                var buttonElement = makeTileButton('Tel', 'icon-phone');
                buttonElement.addEventListener('click', function () {
                    phoneCall(phoneNumber);
                });
                return buttonElement;
            } else {
                return makeTextElement(item.code + ' ' + phoneNumber, 'P');
            }
        },

JI
2017-12-16 18:14:27